package com.boot.project.core.enums.code;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

/**
 * 操作结果的枚举类
 * @author Administrator
 *
 */
@Getter
@NoArgsConstructor
@AllArgsConstructor
public enum BaseCode_bk {

	// 操作成功
	SUCCESS(true, 1, "成功"),

	// 操作失败
	// 1.参数相关(1001~1999)
	PARAM_IS_INVALID(false, 1001,"参数无效"),
	PARAM_IS_BLANK(false, 1002,"参数为空"),
	PARAM_TYPE_BIND_ERROR(false, 1003, "参数类型有误"),
	PARAM_NOT_COMPLETE(false, 1004, "参数缺失"),


	// 2.结果相关(2001~2999)
	INSERT_FAILURE(false, 2001,"新增失败"),
	UPDATE_FAILURE(false, 2002,"更新失败"),
	DELETE_FAILURE(false, 2003,"删除失败"),
	UPLOAD_FAILURE(false, 2004, "上传失败"),
	LOG_SAVE_FAILURE(false, 2005, "日志保存失败"),
	RETURN_DATA_NOT_FOUND(false, 2101, "没有查询到相关内容"),
	HANDLE_DATA_NOT_EXISTED(false, 2102, "没有需要操作的数据"),

	// 3.微服务调用相关(3001~3100)
	INVOKING_FAILURE(false, 3001, "服务间调用失败"),
	INVOKING_TIMEOUT(false, 3002, "服务间调用超时"),

	// 4.通用相关（4001~4999）
	// 4.1.注册相关(4001~4099)
	IS_NOT_PHONE_NUMBER(false, 4001, "手机号码校验失败"),
	EXPIRED_VERIFY_CODE(false, 4002, "验证码超时"),
	INCORRECT_VERIFY_CODE(false, 4003, "验证码错误"),
	// 4.2.登录相关(4101~4199)
	INCORRECT_USERNAME_OR_PASSWORD(false, 4101, "用户名或密码有误"),
	INCORRECT_OLD_PASSWORD(false, 4102, "原密码有误"),
	TOO_MANY_RETRY_FOR_PASSWORD(false, 4103, "该账户密码重试次数过多已被锁定，一小时之内不能被登录"),
	ACCOUNT_HAS_BEEN_LOCKED(false, 4104, "该账户已被锁，请联系管理员"),
	NOT_LOG_IN(false, 4105, "您还未登录"),
	// 4.3.鉴权相关(4201~4299)
	DO_NOT_HAVE_THIS_PERMISSION(false, 4201, "您没有权限进行此项操作"),
	// 4.4.日志相关(4301~4399)

	// 4.5.上传相关(4401~4499)
	INVALID_FILE_TYPE(false, 4401, "非法文件类型"),
	INVALID_FILE_CONTENT(false, 4402, "非法文件内容"),
	FILE_TOO_BIG(false, 4403, "上传大小超过了限制"),
	CONTENT_VALID_FAILURE(false, 4404, "内容校验失败"),
	COMPRESS_FAILURE(false, 4405, "图片压缩失败"),

	// 5.业务相关1(5001~7999)
	// 5.1.用户相关
	EXISTS_SAME_TAG(false, 5101, "已经存在同名的标签，请修改名称后再提交"),
	EXISTS_SAME_CATEGORY(false, 5102, "已经存在同名的分类，请修改名称后再提交"),
	EXIST_USER_BELONG_ROLE(false, 5301, "仍然存在用户属于该角色，不能进行相应的操作"),
	EXIST_ROLE_NAME(false, 5302, "角色名已存在，请修改后再提交"),
	EXIST_USER_NAME(false, 5303, "用户名已存在，请修改后再提交"),
	// 5.2.配置中心相关

	// 5.3.商户模块相关

	// 5.4.计费模块相关

	// 5.5.短信模块相关

	// 5.6.计费模块相关

	// 5.7.手机端接口相关



	// 6.其他(9999)
	SERVER_OCCURS_ERROR(false, 9999, "系统内部发生异常")
	;

	private Boolean success; // 是否成功
	private int code; // 状态码
    private String message; // 操作信息


}
